For certain network monitoring applications, it may be desirable to determine the application protocol of a signaling message, such as an SS7 message signaling unit (MSU). Using application protocols carried by SS7 MSUs as an example, it may be desirable to determine whether an MSU carries line information database (LIDB) or calling name (CNAM) application-level protocols for billing or usage measurements purposes.
Traditionally, in SS7 networks, the subsystem number (SSN) in the signaling connection control part (SCCP) layer of an MSU has been used to determine the application-level protocol of the MSU. The SSN may uniquely indicate an application-level protocol. Some application-level protocols, however, have begun re-using subsystem numbers. That is, different protocols may use the same SSN value. In addition, different service providers may use different SSN values to indicate the same application-level protocol. Thus, the SSN alone cannot always be used to identify the application-level protocol in a message.
Another message parameter that has been used in identifying the application-level protocol is the translation type (TT). However, like the SSN, application-level protocols are also re-using translation types. This trend of reusing SSN and TT identifiers is likely to continue as new protocols are developed.
One conventional solution to the re-use of TT and SSN values is to use point codes to identify the application-level protocol of a message. For example, a network monitoring system may be statically provisioned with mappings between point codes of nodes and application-level protocols of the nodes so that messages addressed to (in the case of query messages) or from (in the case of response or return error messages) a particular node can be identified based on the destination, as well as the TT and SSN values. While this solution is capable of identifying the correct application-level protocol, provisioning becomes cumbersome as the number of nodes in the network being monitored increases. In addition, using the point code to identify the application-level protocol fails when a node with a single point code supports multiple different application-level protocols.
Accordingly, there is a need for improved methods, systems, and computer program products for identifying the application-level protocol of a message.